package com.xhsj.user.hr.process.hrChangeSalary.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xhsj.user.hr.process.dto.hrChangeSalary.MyChangeSalaryApplyListDto;
import com.xhsj.user.hr.process.dto.hrChangeSalary.RunChangeSalaryApplyListDto;
import com.xhsj.user.hr.process.hrChangeSalary.query.ChangeSalaryApplyBaseDetailedQuery;
import com.xhsj.user.hr.process.hrChangeSalary.query.CompletedChangeSalaryApplyQuery;
import com.xhsj.user.hr.process.hrChangeSalary.query.MyChangeSalaryApplyListQuery;
import com.xhsj.user.hr.process.hrChangeSalary.query.RunChangeSalaryApplyListQuery;
import org.apache.ibatis.annotations.Mapper;
import com.xhsj.user.hr.process.hrChangeSalary.entity.TbHrApprovalChangeSalary;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
/**
 * <p>
 * hr流程_调薪申请 Mapper 接口
 * </p>
 *
 * @author liuqinghua
 * @since 2020-09-14
 */
@Mapper
public interface TbHrApprovalChangeSalaryMapper extends BaseMapper<TbHrApprovalChangeSalary> {

    /**
     * 我的调薪申请列表
     * @author liuqinghua
     * @date Sep 1, 2020 10:07:11 AM
     */
    IPage<MyChangeSalaryApplyListQuery> myChangeSalaryApplyList(Page<MyChangeSalaryApplyListDto> page,
                                                                   @Param("userId") Long userId,
                                                                   @Param("data") MyChangeSalaryApplyListDto data);

    /**
     * 待审核调薪申请列表
     * @author liuqinghua
     * @date Sep 1, 2020 10:07:11 AM
     */
    IPage<RunChangeSalaryApplyListQuery> runChangeSalaryApplyList(Page<RunChangeSalaryApplyListQuery> page,
                                                                  @Param("userId") Long userId,
                                                                  @Param("roleList") List<Long> roleList,
                                                                  @Param("data") RunChangeSalaryApplyListDto data);

    /**
     * 已审核调薪申请列表
     * @author liuqinghua
     * @date Sep 1, 2020 10:07:11 AM
     */
    IPage<CompletedChangeSalaryApplyQuery> completedChangeSalaryApplyList(Page<CompletedChangeSalaryApplyQuery> page,
                                                                          @Param("userId") Long userId,
                                                                          @Param("data") RunChangeSalaryApplyListDto data);

    /**
     * 调薪申请基本信息
     * @author liuqinghua
     * @date Sep 1, 2020 10:07:11 AM
     */
    ChangeSalaryApplyBaseDetailedQuery changeSalaryApplyBaseDetailedList(@Param("dataId") Long dataId);

    /**
     * 调薪申请删除
     * @author liuqinghua
     * @date Sep 1, 2020 10:07:11 AM
     */
    int deleteChangeSalaryApply(@Param("dataId") Long dataId);
}
